#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Kontrolcu-Qt 1.5
#  - Kontrolcu icin Qt arayüzü
#
# Geliştiriciler:
#  - Osman KARAGÖZ <osmank3@gmail.com>
#  - Taha Doğan Güneş <tdgunes@gmail.com>
# Belgelendirici:
#  - Okan Okuroğulları <ookurogullari@gmail.com>
#
# Web Sitesi: http://code.google.com/p/kontrolcu
# Lisansı: GPL v3 ile lisanslanmıştır.
#
# Yardım dökümanlarını http://code.google.com/p/kontrolcu/w/list 
#                                     adresinden bulabilirsiniz.
import os
if os.name == "posix":
	simge = "/usr/share/icons/kont-qt.png"
	try:
			ac = open(simge,'r')
			ac.close()
	except:
			try:
					simge = "/usr/local/share/icons/kont-qt.png"
					ac = open(simge,'r')
			except:
					print "Logo bulunamadı!"
if os.name == "nt":
	try:
		simge = "kont-qt.png"
		ac = open(simge, 'r')
		ac.close()
	except: 
		print "Logo bulunamadı!"

try:
        from PyQt4 import QtCore, QtGui
except:
        print "PyQt4 arayüzü için gerekli olan PyQt4 modülü bulanamadı.\nLütfen paket yöneticinizden(ya da manuel olarak) PyQt4 modülünü yükleyiniz!"
        exit()
try: 
        import libkontrolcu
except: 
        print "libkontrolcu modülü bulunamadı!"
        exit()
import sys, hashlib
global z,p
p = []
kayiticin = []
doslist = []
kopyat = []
z = []
liste= 0
class arayuz:
        def __init__(self,ui):
                self.ui = ui
        def dosyasec(self):
                secim = ""
                secimdialog = QtGui.QFileDialog
                secim = secimdialog.getOpenFileNames(self.ui.centralwidget, u"Kontrol için Dosya Aç - Kontrolcu-Qt",u".")
                if secim == "" :
                        if len(doslist) ==0:                                
                                self.ui.durum.setText(u"Durum: Lütfen bir dosya seçin.")                                
                else:        
                        for i in secim:
                                self.ui.listWidget.addItem(i)
                                doslist.append(i)
                        self.ui.kontrolet.setEnabled(True)
                        secim = ""
        
        def kontrolet(self):
                global kopyat,kayiticin,doslist
                kopyat = []
                kayiticin = []
                if doslist == []:
                        self.ui.durum.setText(u"Durum: Dosya eklemelisiniz!")
                        self.ui.kontrolet.setEnabled(False)
                else:
                        sonucdurumu=[]
                        if self.ui.kontipsec.currentText() == "md5":
                                kontip = hashlib.md5
                        elif self.ui.kontipsec.currentText() == "sha1":
                                kontip = hashlib.sha1
                        elif self.ui.kontipsec.currentText() == "sha224":
                                kontip = hashlib.sha224
                        elif self.ui.kontipsec.currentText() == "sha256":
                                kontip = hashlib.sha256
                        elif self.ui.kontipsec.currentText() == "sha384":
                                kontip = hashlib.sha384
                        elif self.ui.kontipsec.currentText() == "sha512":
                                kontip = hashlib.sha512
                        try:
                            for i in doslist:
                                libkontrolcu.toplamver(kontip, i)
                                sonucdurumu.append(libkontrolcu.toplam + "  " + i.split("/")[-1])
                            self.ui.listWidget.clear()
                            for i in sonucdurumu:
                                self.ui.listWidget.addItem(i)
                                kayiticin.append(i)
                                kopyat.append(i)
                        except MemoryError:
                                mesaj = QtGui.QMessageBox()
                                mesaj.setWindowTitle(u"Hata - Kontrolcu-Qt")
                                mesaj.setText(u'Geçici bellek hatası')
                                mesaj.setWindowIcon(QtGui.QIcon(simge))
                                mesaj.exec_()
        def temizle(self): 
                global kopyat,kayiticin,doslist
                libkontrolcu.sondurum=[]
                libkontrolcu.hatadurum=[]
                kayiticin=[]
                doslist=[]
                z=[]
                self.ui.listWidget.clear()        
                self.ui.dosyasec.setEnabled(True)
                self.ui.cikar.setEnabled(False)        
                self.ui.dosyayolu.setText("")
                self.ui.giris.setText("")
                self.ui.toplam.setText("")
                self.ui.dogrulama.setText(u"Sonuç: Temizlendi!")
                kopyat = []
                dosyalistesi = []
                self.ui.kontrolet.setEnabled(False)

        def kaydet(self):
                global kayiticin
                if kayiticin == []:
                        self.ui.durum.setText(u"Durum: Kaydedilecek bir kontrol yok.")
                else:
                        kayityol = QtGui.QFileDialog() #GNOME için biraz problemi! PyQt4'den kaynaklanıyor!
                        if self.ui.kontipsec.currentText() == "md5":
                                yenidosya = unicode(kayityol.getSaveFileName(self.ui.centralwidget, u"Kontrolü Kaydet - Kontrolcu-Qt",u"adsızkayıt.md5sum",u"Kontrol Tipi (*.md5sum);;Metin Dosyası (*.txt)"))
                        elif self.ui.kontipsec.currentText() == "sha1":
                                yenidosya = unicode(kayityol.getSaveFileName(self.ui.centralwidget, u"Kontrolü Kaydet - Kontrolcu-Qt",u"adsızkayıt.sha1sum",u"Kontrol Tipi (*.sha1sum);;Metin Dosyası (*.txt)"))
                        elif self.ui.kontipsec.currentText() == "sha224":
                                yenidosya = unicode(kayityol.getSaveFileName(self.ui.centralwidget, u"Kontrolü Kaydet - Kontrolcu-Qt",u"adsızkayıt.sha224sum",u"Kontrol Tipi (*.sha224sum);;Metin Dosyası (*.txt)"))
                        elif self.ui.kontipsec.currentText() == "sha256":
                                yenidosya = unicode(kayityol.getSaveFileName(self.ui.centralwidget, u"Kontrolü Kaydet - Kontrolcu-Qt",u"adsızkayıt.sha256sum",u"Kontrol Tipi (*.sha256sum);;Metin Dosyası (*.txt)"))
                        elif self.ui.kontipsec.currentText() == "sha384":
                                yenidosya = unicode(kayityol.getSaveFileName(self.ui.centralwidget, u"Kontrolü Kaydet - Kontrolcu-Qt",u"adsızkayıt.sha384sum",u"Kontrol Tipi (*.sha384sum);;Metin Dosyası (*.txt)"))
                        elif self.ui.kontipsec.currentText() == "sha512":
                                yenidosya = unicode(kayityol.getSaveFileName(self.ui.centralwidget, u"Kontrolü Kaydet - Kontrolcu-Qt",u"adsızkayıt.sha512sum",u"Kontrol Tipi (*.sha512sum);;Metin Dosyası (*.txt)"))
                        try:
                                ac = open(yenidosya,'w')      
                                for i in kayiticin:
                                        ac.write(i + "\n")
                                ac.close()
                                mesaj = QtGui.QMessageBox()
                                mesaj.setWindowTitle(u"Kaydet - Kontrolcu-Qt")
                                mesaj.setText(u'%s başarıyla kaydedildi.' % yenidosya)
                                mesaj.setWindowIcon(QtGui.QIcon(simge))
                                mesaj.exec_()        
                                kayiticin = []
                        except IOError, (hata_no,hata):
                                if hata_no == 13:
                                        self.ui.durum.setText(u"Durum: Kaydedilemedi. Dosya yerine yazma yetkiniz olmayabilir!")
                                else:
                                        self.ui.durum.setText(u"Durum: Kayıt işleminde bir hata oluştu.")
        
        def ekleetkin(self):
                if self.ui.giris.text() == "" and len(doslist) != 0:
                        global degisecek
                        degisecek = self.ui.listWidget.currentRow()
                        self.ui.ekle.setText(QtGui.QApplication.translate("MainWindow", "Düzenle", None, QtGui.QApplication.UnicodeUTF8))
                        self.ui.ekle.setEnabled(True)
                elif self.ui.giris.text() != "":
                        self.ui.ekle.setText(QtGui.QApplication.translate("MainWindow", "Ekle", None, QtGui.QApplication.UnicodeUTF8))
                        self.ui.ekle.setEnabled(True)
        
        def ekle(self):
                if self.ui.giris.text() == "":#listeden elemanı alıp düzenlemekte kullanılacak bölüm (listedeki elemanı listeden silecek, lineedit'e yazacak)
                        self.ui.giris.setText("file://" + doslist[degisecek])
                        doslist.pop(degisecek)
                        self.ui.listWidget.takeItem(degisecek)
                        self.ui.cikar.setEnabled(False)#self.ui.durum.setText(u"Durum: Eklenecek bir yol yok.")
                elif self.ui.giris.text() != "":#lineedit içindekini listeye ekleyecek bölüm        
                        a = self.ui.giris.text()
                        if a[-1] == "\n": #GNOME için KDE4'de bir probleme rastlanılmadı.
                                a=a[:-2]
                                self.ui.giris.setText(a)
                        a=a[7:]
                        try:
                                ac = open(a,'r')
                                ac.close()
                                self.ui.listWidget.addItem(a)
                                doslist.append(a)
                                self.ui.giris.setText("")
                                self.ui.kontrolet.setEnabled(True)
                        except IOError:
                                mesaj = QtGui.QMessageBox()
                                mesaj.setWindowTitle(u"Ekle - Kontrolcu-Qt")
                                mesaj.setText(u'Eklediğiniz dosya bulunmadı. Lütfen konumunu kontrol ediniz!')
                                mesaj.setWindowIcon(QtGui.QIcon(simge))
                                mesaj.exec_()
                        self.ui.ekle.setEnabled(False)
        
        def saglasec(self):
                if p[0]=="dosyadankontrol":
                        saglasecim = QtGui.QFileDialog.getOpenFileName(self.ui.centralwidget, u"Bir Kontrol Aç - Kontrolcu-Qt",".",u"Kontrol Tipleri (*.md5sum *.sha1sum *.sha224sum *.sha256sum *.sha384sum *.sha512sum);;Düz Metin Dosyası(*)")
                elif p[0]=="saglama":
                        saglasecim = QtGui.QFileDialog.getOpenFileName(self.ui.centralwidget, u"Dosya Seç - Kontrolcu-Qt",".")
                if saglasecim =="":
                        if p[0] == "saglama": 
                                self.ui.durum.setText(u"Durum: Sağlama için bir dosya seçmediniz!")
                        elif p[0] == "dosyadankontrol":
                                self.ui.durum.setText(u"Durum: Dosyadan Kontrol için bir dosya seçmediniz!")
                else:
                        try:
                                self.ui.dosyayolu.setText(saglasecim)
                                ac =open(saglasecim,'r')
                                ac.close()
                        except IOError:
                                mesaj = QtGui.QMessageBox()
                                mesaj.setWindowTitle(u"Dosya Seç - Kontrolcu-Qt")
                                mesaj.setText(u'Eklediğiniz dosya bulunmadı. Lütfen konumunu kontrol ediniz!')
                                mesaj.setWindowIcon(QtGui.QIcon(simge))
                                mesaj.exec_()
        def saglakontrolet(self):
                libkontrolcu.hatadurum=[]
                libkontrolcu.sondurum=[]
                try:
                        libkontrolcu.ccheck(self.ui.dosyayolu.text(), self.ui.toplam.text())
                        if len(libkontrolcu.hatadurum) > 0:
                                if 011 in libkontrolcu.hatadurum:
                                        mesaj = QtGui.QMessageBox()
                                        mesaj.setWindowTitle(u"Hata - Kontrolcu-Qt")
                                        mesaj.setText(u'Kontrol toplamı hatalı!')
                                        mesaj.setWindowIcon(QtGui.QIcon(simge))
                                        mesaj.exec_()
                        elif len(libkontrolcu.hatadurum) == 0:
                                if libkontrolcu.sondurum[0] == True:
                                        Durumnotu = libkontrolcu.sondurum[1] + u" eskisi ile uyuşuyor"
                                elif libkontrolcu.sondurum[0] == False:
                                        Durumnotu = libkontrolcu.sondurum[1] + u" değişmiş."
                                mesaj = QtGui.QMessageBox()
                                mesaj.setWindowTitle(u"Sonuç - Kontrolcu-Qt")
                                mesaj.setText(Durumnotu)
                                mesaj.setWindowIcon(QtGui.QIcon(simge))
                                mesaj.exec_()
                except IOError, (hata_no, hata):
                        if hata_no == 2:
                                mesaj = QtGui.QMessageBox()
                                mesaj.setWindowTitle(u"Hata - Kontrolcu-Qt")
                                mesaj.setText(u'Eklediğiniz dosya bulunmadı. Lütfen konumunu kontrol ediniz!')
                                mesaj.setWindowIcon(QtGui.QIcon(simge))
                                mesaj.exec_()
                except MemoryError:
                            mesaj = QtGui.QMessageBox()
                            mesaj.setWindowTitle(u"Hata - Kontrolcu-Qt")
                            mesaj.setText(u"Geçici bellek hatası!")
                            mesaj.setWindowIcon(QtGui.QIcon(simge)) 
                            mesaj.exec_()
                            temizle()
                            self.ui.dogrulama.setText(u"Sonuç: Bir hata oluştu!")
        
        def cikaretkin(self):
                global liste
                self.ui.cikar.setEnabled(True)
                liste = self.ui.listWidget.currentRow()
        def cikart(self):
                self.ui.listWidget.takeItem(liste)
                doslist.pop(liste)
                self.ui.cikar.setEnabled(False)
                self.ui.ekle.setEnabled(False)
        def hakkinda(self):
                mesaj = QtGui.QMessageBox()
                mesaj.setWindowTitle(u"Hakkında - Kontrolcu-Qt")
                mesaj.setText(u'Kontrolcu-Qt 1.5 \n- Kontrolcu için Qt arayüzü\n\nGeliştiriciler\n- Taha Doğan Güneş <tdgunes@gmail.com>\n- Osman Karagöz <osmank3@gmail.com>\n\nBelgelendirici\n- Okan Okuroğulları <ookurogullari@gmail.com>\n\nWeb Sitesi: code.google.com/p/kontrolcu\n\nLisans: GPL v3 ile lisanslanmıştır.\nhttp://www.gnu.org/licenses/gpl-3.0.txt')
                mesaj.setWindowIcon(QtGui.QIcon(simge))
                mesaj.exec_()        
        def yardim(self):
                mesaj = QtGui.QMessageBox()
                mesaj.setWindowTitle(u"Yardım Başlıkları - Kontrolcu-Qt")
                mesaj.setText(u'Kontrolcu-Qt\nhakkında detaylı bilgiyi "code.google.com/p/kontrolcu" adresinden bulabilirsiniz.')
                mesaj.setWindowIcon(QtGui.QIcon(simge))
                mesaj.exec_()                
        def dosyakontrolac(self):
                global window
                if len(p)==0:
                        self.ui.toplam.setEnabled(False)
                        self.ui.dizinsec.setVisible(True)
                        self.ui.kontet.setVisible(False)
                        self.ui.check.setVisible(True)
                        window.setMaximumSize(QtCore.QSize(617,340))                        
                        window.resize(617, 340)
                        self.ui.durum.setText(u"Durum: Dosyadan Kontrol bölümü aktif!")
                        self.ui.toplamlabel.setText(u"Kontrol Dizini:")
                        p.append("dosyadankontrol")
                        self.ui.actionDosyadan_kontrol.setText(QtGui.QApplication.translate("MainWindow", "+ Dosyadan Kontrol", None, QtGui.QApplication.UnicodeUTF8))
                elif p[0] =="dosyadankontrol":
                        window.resize(617, 240)
                        window.setMaximumSize(QtCore.QSize(617,240))
                        self.ui.durum.setText(u"Durum: Dosyadan Kontrol bölümü inaktif!")
                        self.ui.actionDosyadan_kontrol.setText(QtGui.QApplication.translate("MainWindow", "Dosyadan Kontrol", None, QtGui.QApplication.UnicodeUTF8))
                        p.pop(0)
                elif p[0] =="saglama":
                        self.ui.durum.setText(u"Durum: Sağlama bölümünü kapatınız!")
                        
        def saglamac(self):
                global window
                if len(p)==0: 
                        self.ui.toplam.setEnabled(True)
                        self.ui.kontet.setVisible(True)
                        self.ui.check.setVisible(False)
                        window.setMaximumSize(QtCore.QSize(617,340))                
                        self.ui.dizinsec.setVisible(False)        
                        window.resize(617, 340)
                        self.ui.durum.setText(u"Durum: Sağlama bölümü aktif!")
                        self.ui.toplamlabel.setText(u"Toplam:")
                        p.append("saglama")
                        self.ui.actionsagla.setText(QtGui.QApplication.translate("MainWindow", "+ Sağlama", None, QtGui.QApplication.UnicodeUTF8))
                elif p[0] == "saglama":
                        window.resize(617, 240)
                        window.setMaximumSize(QtCore.QSize(617,240))
                        self.ui.durum.setText(u"Durum: Sağlama bölümü inaktif!")
                        p.pop(0)
                        self.ui.actionsagla.setText(QtGui.QApplication.translate("MainWindow", "Sağlama", None, QtGui.QApplication.UnicodeUTF8))
                elif p[0] =="dosyadankontrol":
                        self.ui.durum.setText(u"Durum: Dosyadan Kontrol bölümünü kapatınız!")
                self.ui.dosyayolu.setText("")
                self.ui.giris.setText("") 
                self.ui.toplam.setText("")
        def dosyadankontrol(self):
                if self.ui.dosyayolu.text() == "":
                             self.ui.durum.setText(u"Durum: Dosya seçin ya da internet adresi girin!")
                elif self.ui.toplam.text()  == "":
                              self.ui.durum.setText(u"Durum: Bir Dizin Seçiniz!")
                else:
                        taslak = ""
                        dliste = []
                        libkontrolcu.hatadurum=[]
                        libkontrolcu.sondurum=[]
                        dliste.insert(0,str(self.ui.dosyayolu.text()))
                        dliste.insert(1,str(self.ui.toplam.text()))
                        try:
                                libkontrolcu.check(dliste)
                                if len(libkontrolcu.hatadurum) > 0:
                                        if 001 in libkontrolcu.hatadurum:
                                                Hatanotu = u"Adresteki dosya, kontrol toplamı dosyası değil!"
                                        elif 002 in libkontrolcu.hatadurum:
                                                Hatanotu = u"Kontrol toplamı dosyası hatalı!"
                                        elif 003 in libkontrolcu.hatadurum:
                                                Hatanotu = u"%s dosyası bulunamıyor."% libkontrolcu.hatadurum[libkontrolcu.hatadurum.index(003)+1]
                                        elif 004 in libkontrolcu.hatadurum:
                                                Hatanotu = u"%s dosyası geçici belleğe sığmıyor!"% libkontrolcu.hatadurum[libkontrolcu.hatadurum.index(004)+1]
                                        mesaj = QtGui.QMessageBox()
                                        mesaj.setWindowTitle(u"Hata - Kontrolcu-Qt")
                                        mesaj.setText(u"%s" % Hatanotu)
                                        mesaj.setWindowIcon(QtGui.QIcon(simge))
                                        mesaj.exec_()
                                        self.ui.dogrulama.setText(u"Sonuç: Bir hata oluştu!")
                                        temizle()
                                elif len(libkontrolcu.hatadurum) == 0:
                                        Durumliste=[]
                                        Durumnotu=""
                                        n=0
                                        while len(libkontrolcu.sondurum) > n:
                                                if libkontrolcu.sondurum[n] == True:
                                                        Durumliste.append(libkontrolcu.sondurum[n+1] + u" eskisi ile uyuşuyor")
                                                elif libkontrolcu.sondurum[n] == False:
                                                        Durumliste.append(libkontrolcu.sondurum[n+1] + u" değişmiş.")
                                                n += 2
                                        for i in Durumliste:
                                                Durumnotu += i +"\n"
                                        mesaj = QtGui.QMessageBox()
                                        mesaj.setWindowTitle(u"Sonuç - Kontrolcu-Qt")
                                        mesaj.setText(u"%s" % Durumnotu)
                                        mesaj.setWindowIcon(QtGui.QIcon(simge))
                                        mesaj.exec_()
                                        self.ui.dogrulama.setText(u"Sonuç: Gösterildi!")
                        except IOError, (hata_no, hata):
                                if hata_no == 2:
                                        mesaj = QtGui.QMessageBox()
                                        mesaj.setWindowTitle(u"Hata - Kontrolcu-Qt")
                                        mesaj.setText(u"dosyası bulunamıyor!"% dliste[0])
                                        mesaj.setWindowIcon(QtGui.QIcon(simge))
                                        mesaj.exec_()
                                if hata_no == "socket error":
                                        mesaj = QtGui.QMessageBox()
                                        mesaj.setWindowTitle(u"Hata - Kontrolcu-Qt")
                                        mesaj.setText(u"Adres bulunamıyor!")
                                        mesaj.setWindowIcon(QtGui.QIcon(simge))
                                        mesaj.exec_()
                                temizle()
                                self.ui.dogrulama.setText(u"Sonuç: Bir hata oluştu!")       

        def dizinekle(self):
                saglasecim = QtGui.QFileDialog.getExistingDirectory(self.ui.centralwidget, u"Dizin Ekle - Kontrolcu-Qt",u".")
                if saglasecim =="":
                        self.ui.durum.setText(u"Durum: Bir dizin seçmediniz!")
                else:
                        self.ui.toplam.setText(saglasecim)
        def kopyala(self):
                tiklanan = self.ui.listWidget.currentRow()
                if kayiticin == []:
                        draft = str(doslist[tiklanan])
                else:
                        draft = str(kopyat[tiklanan])
                clipboard = QtGui.QApplication.clipboard()
                clipboard.setText(draft) 
                self.ui.durum.setText(u"Durum: Listeden bir yazı kopyaladınız!")
#if self.ui.listWidget.currentItem() == self.ui.listWidget.itemAt(2,2):
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        #MainWindow.resize(617, 340) #Sağla ile
        MainWindow.resize(617,240) #Sağlasız
        MainWindow.setMinimumSize(QtCore.QSize(617,240))
        MainWindow.setMaximumSize(QtCore.QSize(617,240))
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.kontipseclabel = QtGui.QLabel(self.centralwidget)
        self.kontipseclabel.setObjectName("kontipseclabel")
        self.kontipseclabel.setGeometry(QtCore.QRect(20, 10, 111, 20))
        self.kontipsec = QtGui.QComboBox(self.centralwidget)
        self.kontipsec.setGeometry(QtCore.QRect(20, 40, 111, 27))
        self.kontipsec.setObjectName("kontipsec")
        self.kontipsec.addItem(QtCore.QString())
        self.kontipsec.addItem(QtCore.QString())
        self.kontipsec.addItem(QtCore.QString())
        self.kontipsec.addItem(QtCore.QString())
        self.kontipsec.addItem(QtCore.QString())
        self.kontipsec.addItem(QtCore.QString())
        self.cikar = QtGui.QPushButton(self.centralwidget)
        self.cikar.setGeometry(QtCore.QRect(540, 10, 71, 27))
        self.cikar.setObjectName("cikar")
        self.cikar.setEnabled(False)
        self.listWidget = QtGui.QListWidget(self.centralwidget)
        self.listWidget.setGeometry(QtCore.QRect(150, 40, 461, 131))
        self.listWidget.setObjectName("listWidget")
        self.dosyasec = QtGui.QPushButton(self.centralwidget)
        self.dosyasec.setGeometry(QtCore.QRect(20, 90, 111, 31))
        self.dosyasec.setObjectName("dosyasec")
        self.giris = QtGui.QLineEdit(self.centralwidget)
        self.giris.setGeometry(QtCore.QRect(150, 10, 301, 27))
        self.giris.setObjectName("giris")
        #Sağlama Fonksiyonu İçin Alt Arayüz
        # -
        self.dosyayolu = QtGui.QLineEdit(self.centralwidget)
        self.dosyayolu.setGeometry(QtCore.QRect(105,220,411,27))
        self.dosyayolu.setObjectName("dosyayolu")
        #İlk LineEdit
        self.dosyasecimi = QtGui.QPushButton(self.centralwidget)
        self.dosyasecimi.setGeometry(QtCore.QRect(520,220,90,27))
        self.dosyasecimi.setObjectName("dosyasecimi")
        #Dosya Seçimi ilk satır
        self.dosyayol = QtGui.QLabel(self.centralwidget)
        self.dosyayol.setGeometry(QtCore.QRect(10,220,91,21))
        self.dosyayol.setObjectName("dosyayol")

        # --        
        self.toplamlabel = QtGui.QLabel(self.centralwidget)
        self.toplamlabel.setGeometry(QtCore.QRect(10,250,90,27))
        self.toplamlabel.setObjectName("toplamlabel")
        self.toplam = QtGui.QLineEdit(self.centralwidget)
        self.toplam.setGeometry(QtCore.QRect(105,250,411,27))
        self.toplam.setObjectName("toplam")
        self.kontet = QtGui.QPushButton(self.centralwidget)
        self.kontet.setGeometry(QtCore.QRect(520,250,90,27))
        self.kontet.setObjectName("kontet")
        
        self.dizinsec = QtGui.QPushButton(self.centralwidget)
        self.dizinsec.setGeometry(QtCore.QRect(520,250,90,27))
        self.dizinsec.setObjectName("dizinsec")

        self.check = QtGui.QPushButton(self.centralwidget)
        self.check.setGeometry(QtCore.QRect(520,280,90,27))
        self.check.setObjectName("check")
        # +        
        self.dogrulama = QtGui.QLabel(self.centralwidget)
        self.dogrulama.setGeometry(QtCore.QRect(10,285,530,16)) #581
        self.dogrulama.setObjectName("dogrulama")
        # -+
        #|||||||||||||||||||||||||||||||||||||
        self.durum = QtGui.QLabel(self.centralwidget)
        self.durum.setGeometry(QtCore.QRect(15,180,400,21))
        self.durum.setObjectName("durum")
        self.kontrolet = QtGui.QPushButton(self.centralwidget)
        self.kontrolet.setGeometry(QtCore.QRect(20, 140, 111, 31))
        self.kontrolet.setObjectName("kontrolet")
        self.kontrolet.setEnabled(False)
        self.pushButton = QtGui.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(522, 175, 90, 27))
        self.pushButton.setObjectName("pushButton")
        self.ekle = QtGui.QPushButton(self.centralwidget)
        self.ekle.setGeometry(QtCore.QRect(460, 10, 71, 27))
        self.ekle.setObjectName("ekle")
        self.ekle.setEnabled(False)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 622, 27))
        self.menubar.setObjectName("menubar")
        self.menuDosya = QtGui.QMenu(self.menubar)
        self.menuDosya.setObjectName("menuDosya")
        self.menuHakk_nda = QtGui.QMenu(self.menubar)
        self.menuHakk_nda.setObjectName("menuHakk_nda")
        MainWindow.setMenuBar(self.menubar)
        self.actionYeni_Kontrol = QtGui.QAction(MainWindow)
        self.actionYeni_Kontrol.setObjectName("actionYeni_Kontrol")
        self.arayuz = arayuz(self)
        QtCore.QObject.connect(self.actionYeni_Kontrol, QtCore.SIGNAL("triggered()"), self.arayuz.temizle)
        self.actionKontrol_u_Kaydet = QtGui.QAction(MainWindow)
        self.actionKontrol_u_Kaydet.setObjectName("actionKontrol_u_Kaydet")
        QtCore.QObject.connect(self.actionKontrol_u_Kaydet, QtCore.SIGNAL("triggered()"), self.arayuz.kaydet)
        self.actionDosyadan_kontrol = QtGui.QAction(MainWindow)
        self.actionDosyadan_kontrol.setObjectName("actionDosyadan_kontrol")
        QtCore.QObject.connect(self.actionDosyadan_kontrol, QtCore.SIGNAL("triggered()"), self.arayuz.dosyakontrolac)
        self.actionsagla = QtGui.QAction(MainWindow)
        self.actionsagla.setObjectName("actionsagla")
        QtCore.QObject.connect(self.actionsagla, QtCore.SIGNAL("triggered()"), self.arayuz.saglamac)
        self.action_k = QtGui.QAction(MainWindow)
        self.action_k.setObjectName("action_k")
        QtCore.QObject.connect(self.action_k, QtCore.SIGNAL("triggered()"), MainWindow.close)
        self.actionYard_m = QtGui.QAction(MainWindow)
        self.actionYard_m.setObjectName("actionYard_m")
        QtCore.QObject.connect(self.actionYard_m, QtCore.SIGNAL("triggered()"), self.arayuz.yardim)
        self.actionHakk_nda = QtGui.QAction(MainWindow)
        self.actionHakk_nda.setObjectName("actionHakk_nda")
        QtCore.QObject.connect(self.actionHakk_nda, QtCore.SIGNAL("triggered()"), self.arayuz.hakkinda)
        self.menuDosya.addAction(self.actionYeni_Kontrol)
        self.menuDosya.addAction(self.actionKontrol_u_Kaydet)
        self.menuDosya.addSeparator()
        self.menuDosya.addAction(self.actionDosyadan_kontrol)
        self.menuDosya.addAction(self.actionsagla)
        self.menuDosya.addSeparator()
        self.menuDosya.addAction(self.action_k)
        self.menuHakk_nda.addAction(self.actionYard_m)
        self.menuHakk_nda.addSeparator()
        self.menuHakk_nda.addAction(self.actionHakk_nda)
        self.menubar.addAction(self.menuDosya.menuAction())
        self.menubar.addAction(self.menuHakk_nda.menuAction())
        MainWindow.setWindowIcon(QtGui.QIcon(simge))
        screen = QtGui.QDesktopWidget().screenGeometry()
        size =  MainWindow.geometry()
        MainWindow.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)

        self.retranslateUi(MainWindow)
        
        QtCore.QObject.connect(self.dosyasec, QtCore.SIGNAL("clicked()"), self.arayuz.dosyasec)
        QtCore.QObject.connect(self.listWidget, QtCore.SIGNAL("itemClicked(QListWidgetItem*)"), self.arayuz.cikaretkin)
        QtCore.QObject.connect(self.cikar, QtCore.SIGNAL("clicked()"), self.arayuz.cikart)
        QtCore.QObject.connect(self.giris, QtCore.SIGNAL("textChanged(QString)"), self.arayuz.ekleetkin)
        QtCore.QObject.connect(self.listWidget, QtCore.SIGNAL("itemClicked(QListWidgetItem*)"), self.arayuz.ekleetkin)

        QtCore.QObject.connect(self.kontrolet, QtCore.SIGNAL("clicked()"), self.arayuz.kontrolet)
        QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.arayuz.temizle)
        QtCore.QObject.connect(self.ekle, QtCore.SIGNAL("clicked()"), self.arayuz.ekle)
        QtCore.QObject.connect(self.dosyasecimi, QtCore.SIGNAL("clicked()"), self.arayuz.saglasec)
        QtCore.QObject.connect(self.kontet, QtCore.SIGNAL("clicked()"), self.arayuz.saglakontrolet)
        QtCore.QObject.connect(self.check, QtCore.SIGNAL("clicked()"), self.arayuz.dosyadankontrol)
        QtCore.QObject.connect(self.dizinsec, QtCore.SIGNAL("clicked()"), self.arayuz.dizinekle)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        QtCore.QObject.connect(self.listWidget, QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem*)"), self.arayuz.kopyala)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Kontrolcu-Qt", None, QtGui.QApplication.UnicodeUTF8))
        self.kontipseclabel.setText(QtGui.QApplication.translate("MainWindow", "Kontrol tipleri:", None, QtGui.QApplication.UnicodeUTF8))
        
        self.kontipsec.setItemText(0, QtGui.QApplication.translate("MainWindow", "md5", None, QtGui.QApplication.UnicodeUTF8))
        self.kontipsec.setItemText(1, QtGui.QApplication.translate("MainWindow", "sha1", None, QtGui.QApplication.UnicodeUTF8))
        self.kontipsec.setItemText(2, QtGui.QApplication.translate("MainWindow", "sha224", None, QtGui.QApplication.UnicodeUTF8))
        self.kontipsec.setItemText(3, QtGui.QApplication.translate("MainWindow", "sha256", None, QtGui.QApplication.UnicodeUTF8))
        self.kontipsec.setItemText(4, QtGui.QApplication.translate("MainWindow", "sha384", None, QtGui.QApplication.UnicodeUTF8))
        self.kontipsec.setItemText(5, QtGui.QApplication.translate("MainWindow", "sha512", None, QtGui.QApplication.UnicodeUTF8))
        

        
        self.durum.setText(QtGui.QApplication.translate("MainWindow", "Durum: Kontrolcu-Qt'ye hoş geldiniz!", None, QtGui.QApplication.UnicodeUTF8))
        self.dosyasec.setToolTip(QtGui.QApplication.translate("MainWindow", "Herhangi bir dosya seçiniz.", None, QtGui.QApplication.UnicodeUTF8))
        self.dosyasec.setText(QtGui.QApplication.translate("MainWindow", "Dosya Ekle", None, QtGui.QApplication.UnicodeUTF8))
        self.dosyasec.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+D", None, QtGui.QApplication.UnicodeUTF8))
        self.kontrolet.setToolTip(QtGui.QApplication.translate("MainWindow", "Dosyaları seçtiğinizden eminseniz kontrol edin.", None, QtGui.QApplication.UnicodeUTF8))
        self.kontrolet.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+C", None, QtGui.QApplication.UnicodeUTF8))
        self.cikar.setToolTip(QtGui.QApplication.translate("MainWindow", "Listeden yolu çıkarmak için sol kutucuğa istemediğiniz yolu yazın.", None, QtGui.QApplication.UnicodeUTF8))

        self.kontipsec.setToolTip(QtGui.QApplication.translate("MainWindow", "Kontrol tipleri için tıklayın.", None, QtGui.QApplication.UnicodeUTF8))

        self.ekle.setText(QtGui.QApplication.translate("MainWindow", "Düzenle", None, QtGui.QApplication.UnicodeUTF8))
        self.ekle.setToolTip(QtGui.QApplication.translate("MainWindow", "Yandaki satıra dosyaları sürükleyip bırakın ve ekleyin.", None, QtGui.QApplication.UnicodeUTF8))
        self.ekle.setShortcut(QtGui.QApplication.translate("MainWindow", "Return", None, QtGui.QApplication.UnicodeUTF8))
        self.actionsagla.setText(QtGui.QApplication.translate("MainWindow", "Sağlama", None, QtGui.QApplication.UnicodeUTF8))
        self.kontrolet.setText(QtGui.QApplication.translate("MainWindow", "Kontrol Et", None, QtGui.QApplication.UnicodeUTF8))
        self.cikar.setText(QtGui.QApplication.translate("MainWindow", "Çıkar", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton.setToolTip(QtGui.QApplication.translate("MainWindow", "Bu kontrolü temizleyin.", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton.setText(QtGui.QApplication.translate("MainWindow", "Temizle", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+N", None, QtGui.QApplication.UnicodeUTF8))
        self.menuDosya.setTitle(QtGui.QApplication.translate("MainWindow", "Dosya", None, QtGui.QApplication.UnicodeUTF8))
        #----------------------------------        
        self.dosyasecimi.setText(QtGui.QApplication.translate("MainWindow", "Gözat", None, QtGui.QApplication.UnicodeUTF8))
        self.dosyayol.setText(QtGui.QApplication.translate("MainWindow", "Dosya Yolu:", None, QtGui.QApplication.UnicodeUTF8))
        self.toplamlabel.setText(QtGui.QApplication.translate("MainWindow", "Toplamı:", None, QtGui.QApplication.UnicodeUTF8))
        self.kontet.setText(QtGui.QApplication.translate("MainWindow", "Doğrula", None, QtGui.QApplication.UnicodeUTF8))
        self.dizinsec.setText(QtGui.QApplication.translate("MainWindow", "Dizin Seç", None, QtGui.QApplication.UnicodeUTF8))
        self.dogrulama.setText(QtGui.QApplication.translate("MainWindow", "Sonuç: Henüz bir kontrol yapılmadı.", None, QtGui.QApplication.UnicodeUTF8))
        self.check.setText(QtGui.QApplication.translate("MainWindow", "Kontrol Et", None, QtGui.QApplication.UnicodeUTF8))
        #----------------------------------
        
        self.menuHakk_nda.setTitle(QtGui.QApplication.translate("MainWindow", "Yardım", None, QtGui.QApplication.UnicodeUTF8))
        self.actionYeni_Kontrol.setText(QtGui.QApplication.translate("MainWindow", "Yeni Kontrol", None, QtGui.QApplication.UnicodeUTF8))
        self.actionKontrol_u_Kaydet.setText(QtGui.QApplication.translate("MainWindow", "Kontrolu Kaydet", None, QtGui.QApplication.UnicodeUTF8))
        self.actionDosyadan_kontrol.setText(QtGui.QApplication.translate("MainWindow", "Dosyadan kontrol", None, QtGui.QApplication.UnicodeUTF8))
        self.action_k.setText(QtGui.QApplication.translate("MainWindow", "Çıkış", None, QtGui.QApplication.UnicodeUTF8))
        self.actionYard_m.setText(QtGui.QApplication.translate("MainWindow", "Yardım Başlıkları", None, QtGui.QApplication.UnicodeUTF8))
        self.actionHakk_nda.setText(QtGui.QApplication.translate("MainWindow", "Hakkında", None, QtGui.QApplication.UnicodeUTF8))
if os.name == "posix":
        def konqt():
            global window
            app = QtGui.QApplication(sys.argv)
            window = QtGui.QMainWindow()
            ui = Ui_MainWindow()
            ui.setupUi(window)
            window.show()
            sys.exit(app.exec_())
elif os.name == "nt":
	global window
        app = QtGui.QApplication(sys.argv)
        window = QtGui.QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(window)
        window.show()
        sys.exit(app.exec_())
